Storage and management systems such as WinFS (Microsoft Windows® Future Storage or Microsoft Windows® File System), for example, allow different kinds of data to be identified by metadata and use this metadata to set up relationships among data, thereby giving a semantic structure to it. These relationships can then be used by a relational database to enable searching and dynamic aggregation of such data, allowing it to be presented in a variety of ways. In one setup, WinFS can include a relational database engine, derived from the Microsoft® SQL Server database platform, to facilitate such manipulation of data.
WinFS can maintain various entity stores. Such stores may have to be synchronized periodically. Broadly speaking, synchronization is the process of maintaining two or more data stores to be identical under some series of changes, both local and remote. This involves, at certain points in time, using synchronization operations, which move changes made on one store (since the last synchronization operation with another store) to the another store. These changes may conflict, so synchronization solutions often include conflict detection and resolution mechanisms.
This process of moving changes back and forth raises a requirement for an identity mapping mechanism. Given changes to entities from one store it may be necessary for synchronization to determine the corresponding entities in the other store to which those changes should be applied. Thus, one problem is the identification of corresponding entities across various entity stores. Another problem is the maintenance of entity identifications when numerous operations have occurred.
In short, mechanisms are needed, whether systems, methods, computer readable media, and so on, that addresses in an efficient manner these problems.